import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { ResultModule } from '@delon/abc/result';
import { SEModule } from '@delon/abc/se';
import { DelonACLModule } from '@delon/acl';
import { DelonFormModule } from '@delon/form';
import { AlainThemeModule } from '@delon/theme';
import { PipeModule } from '@shared';
import { NzAlertModule } from 'ng-zorro-antd/alert';
import { NzAvatarModule } from 'ng-zorro-antd/avatar';
import { NzButtonModule } from 'ng-zorro-antd/button';
import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';
import { NzFormModule } from 'ng-zorro-antd/form';
import { NzGridModule } from 'ng-zorro-antd/grid';
import { NzIconModule } from 'ng-zorro-antd/icon';
import { NzInputModule } from 'ng-zorro-antd/input';
import { NzPopoverModule } from 'ng-zorro-antd/popover';
import { NzProgressModule } from 'ng-zorro-antd/progress';
import { NzSelectModule } from 'ng-zorro-antd/select';
import { NzStepsModule } from 'ng-zorro-antd/steps';
import { NzTabsModule } from 'ng-zorro-antd/tabs';
import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
import { ProPageModule } from 'src/app/layout/pro/shared/page';
import { UserLoginComponent } from './components/login/login.component';
import { OrderAgreementComponent } from './components/order-agreement/order-agreement.component';
import { UserRetrievePasswordComponent } from './components/retrieve-password/retrieve-password.component';

import { PassportRoutingModule } from './passport-routing.module';

const COMPONENTS = [
  // passport pages
  UserLoginComponent,
  UserRetrievePasswordComponent,
  OrderAgreementComponent
];

@NgModule({
  imports: [
    PassportRoutingModule,
    CommonModule,
    FormsModule,
    ReactiveFormsModule,
    AlainThemeModule.forChild(),
    NzTabsModule,
    NzAlertModule,
    NzFormModule,
    NzGridModule,
    NzInputModule,
    NzSelectModule,
    NzButtonModule,
    NzCheckboxModule,
    NzIconModule,
    NzToolTipModule,
    NzPopoverModule,
    NzProgressModule,
    NzAvatarModule,
    SEModule,
    ResultModule,
    DelonACLModule,
    DelonFormModule,
    NzStepsModule,
    ProPageModule,
    PipeModule
  ],
  declarations: COMPONENTS
})
export class PassportModule {}
